home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / games / ippon / source.lzh / eshot.h < prev    next >
C/C++ Source or Header  |  2000-07-07  |  2KB  |  68 lines

  1. /* eshot.h */
  2.  
  3. typedef struct _eshot {
  4.     signed short x, y;    /* 座標 */
  5.     short pt;        /* スプライトパターンNo. */
  6.     short info;        /* 反転コード・色・優先度を表わすデータ */
  7.     short type;        /* 種類 */
  8.     signed int lx, ly;    /* 32bit X,Y 座標 ( l = longword ) */
  9.     signed int vx, vy;    /* 速度 */
  10.     signed short hit_p;    /* 対プレイヤー当たり判定(X,Y 共通) */
  11.     unsigned char angle;    /* 角度 (0~255) */
  12.     unsigned char speed;    /* 速度 (0~7) */
  13.     struct _eshot *next;    /* 次の構造体へのポインタ */
  14. } ESHOT;
  15.  
  16.  
  17. #ifdef GLOBAL_DEFINE        /* グローバル変数の定義と宣言を1つにまとめるテク */
  18. #define Extern            /* Extern をヌル文字列に置換 */
  19. #else
  20. #define Extern extern        /* Extern を extern に置換 */
  21. #endif
  22.  
  23.  
  24. /* グローバル変数 */
  25. Extern ESHOT *eshot_top,    /* 使用中のワークのリスト */
  26.  *eshot_null_top;        /* 空のワークのリスト */
  27.  
  28. Extern short sp_eshot, sp_eshotera;
  29.  
  30. #ifdef DEBUG
  31. Extern int eshot_sum;        /* 敵弾の数 */
  32. #endif
  33. Extern char eshot_erase;    /* >0 なら弾を消す */
  34.  
  35.  
  36. enum {
  37.     ESHOT_NRG01 = 0,    /* エネルギー弾(極小) */
  38.     ESHOT_NRG02,        /*    〃   (小) */
  39.     ESHOT_NRG03,        /*    〃   (中) */
  40.     ESHOT_NRG04,        /*    〃   (大) */
  41.     ESHOT_NRG05,        /*    〃   (特大) */
  42.     ESHOT_NRG06,        /*    〃   (特大) */
  43.     ESHOT_NRG22,        /*    〃   (小横に2個) */
  44.     ESHOT_NRG32,        /*    〃   (中横に2個) */
  45.     ESHOT_NRG23,        /*    〃   (小3角形に3個) */
  46.     ESHOT_NRG24,        /*    〃   (小正方形に4個) */
  47.     ESHOT_NRG14N,        /*    〃   (小斜めに4個) */
  48.     ESHOT_NRG24N,        /*    〃   (中斜めに4個) */
  49.     ESHOT_NRG34N,        /*    〃   (中斜めに4個) */
  50.     ESHOT_NRG34,        /*    〃   (中正方形に4個) */
  51.     ESHOT_NRG15,        /*    〃   (小5個) */
  52.     ESHOT_NRG35,        /*    〃   (小と大正方形に5個) */
  53.     ESHOT_MIS01,        /* ミサイル弾(方向のあるやつ) */
  54.     ESHOT_MIS02,
  55.     ESHOT_LASER01,        /* レーザー */
  56.     ESHOT_LASEREX,        /* 極太レーザー */
  57.     ESHOT_SEARCH        /* 誘導弾 */
  58. };
  59.  
  60. #define ESHOT_ERASE    14    /* 弾消し用定数 */
  61.  
  62.  
  63.  
  64. /* 関数プロトタイプ宣言 */
  65. void EshotInit (void);
  66. void EshotAlloc (short, signed short, signed short, unsigned char, unsigned char, signed short);
  67. void EshotMove (void);
  68.